ASICs are manufactured by ASIC vendors using vendor-proprietary semiconductor technology. The ASIC vendor often supplies its customers with an “ASIC design system” that includes a suite of tools, ASIC vendor data and methodologies/flows. The ASIC design system permits the customer to design integrated circuits (ICs) which, when fabricated using the ASIC vendor's technology, implements a functional design of the user. The ASIC design system includes a large number of model sets and associated procedures that enable the customer to employ widely available Electronic Design Automation (EDA) tools using the ASIC vendor's technology. Due to the large number and types of circuits that comprise an ASIC vendor's technology, the technology is ordinarily cataloged into functional groups, called “libraries”. For example, a vendor may provide a Small Computer System Interface (SCSI) circuit library so customers can implement designs that conform to the SCSI input/output (I/O) standard.
The model sets that represent these technology libraries vary widely in format. Some model sets are text-based formats, some are binary, some include multi-circuit libraries, yet others represent single circuit models. These libraries are usually represented by a large number of directories that organize related files into groups. The directories represent the ASIC vendor's technology library groupings. Each directory contains a source name. The number of these directories, and the names assigned to each directory, are based on the ASIC vendor's technology library groupings. These directories are necessary due to the large amount of data that must be represented and the architecture of modern EDA tools that the design system must support.
Moreover, for increased design flexibility, it is beneficial to the customer that an ASIC vendor support as wide array of EDA tools as practical. As the number of EDA tools increases, the number of libraries, and the complexity of the associated directories, multiplies.
The high complexity of modern design tools, together with an increasingly complicated design system directory structure, require customers to frequently document design efforts by creating wrapper scripts and configuration files. Wrapper script and configuration files define the ASIC netlist and parameters in an executable log file that references file paths in the applicable ASIC design system. The netlists are technology dependent; that is, they represent the ASIC in terms of a specific technology system associated with an ASIC vendor. These scripts and files often make multiple references to various subdirectories and file paths within the library directory structure.
As ASIC vendors continue to develop and improve ASIC design systems, the need arises to change the file groupings and/or directory structure in order to implement new features or changes to the overall system. Changed groupings and file paths cause problems for existing users who have invested considerable effort into the creation of wrapper scripts and configuration files that reference file paths in the ASIC design system. These changes also create problems for the ASIC vendor because information concerning the changes often needs to be explicitly communicated to customers to guide them through the process of updating these embedded library references.
Currently, ASIC vendors introduce changes to ASIC design systems in either (or both) of two approaches. First, vendors might document the changes and assist customers in adjusting their environments manually. This approach requires the ASIC vendor to carefully document the changes, and it imposes an additional burden on the ASIC vendor's support staff to assist customers who did not read or understand the documentation. Moreover, documentation and manual adjustment to accommodate changes in the ASIC design system tends to be error-prone and time-consuming since the customer is forced to do updates manually based on documentation information.
A second approach for ASIC vendors is to make no changes to existing versions of the design system, but instead to introduce new versions of ASIC design systems as new releases. This approach suffers loss of flexibility, and creates an impediment on the ASIC vendor development team from making and implementing changes to library contents and from regrouping functional blocks as the technology offerings mature. Moreover, as the design system matures, new features are assigned to existing groups, rendering the library contents less logically grouped in subsequent versions. Consequently, later versions of the design system become more difficult for customers to use. More particularly, customers experience greater difficulty finding specific files and taking advantage of new offerings in subsequent releases of the design system.